// pages/detail/detail.js
//引入接口数据
let {getGoodDetail} = require('../../api/detailApi');
const shopcartCtrl = require('../../utils/shopcartCtrl');
//引入购物车封装的类库
let ShopCartCtrl = require('../../utils/shopcartCtrl');
Page({

  /**
   * 页面的初始数据
   */
  data: {
    goodInf : {},
    isok : false,//模板显示隐藏开关
    range : [1,2,3,4,5,6], //picker的数据
    pickValue : 1,//默认选1份
    value : 0 //picker里面的下标
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log('跳转到详情页', options);
    // let gid = 552370716;
    let {gid} = options;
    this.getGoodDetails(gid);
  },
  //获取商品详情信息
  getGoodDetails(gid) {
    getGoodDetail(gid).then(res => {
      console.log('商品详情：', res.data);
      if(res.data.code == 200){
        //正确获取商品详情信息
        let goodinf = res.data.data;
        let str = goodinf.bodys;
        if(str) {
          //只有str是有内容的，代表这个商品是有详情介绍的
          var srcReg = /src=\"([^\"]*?)\"/gi;
          var arr = str.match(srcReg);
          var imglist = [];
          if(arr) {
            //证明详情里面有图片
            arr.forEach(item => {
              let imginf = item.slice(5, -1);
              imglist.push(imginf);
            });
            goodinf.imglist = imglist;
          }
          
        }
        console.log('详情数据，全',goodinf);
        this.setData({goodInf:goodinf});
      }
    })
  },
  //回到主页
  goHome() {
    wx.switchTab({
      url: '/pages/home/home',
    })
  },
  //跳到购物车
  goShopCart() {
    wx.switchTab({
      url: '/pages/shopcart/shopcart',
    })
  },
  //模板：购物车获取数量
  pickSel(ev) {
    console.log('picker', ev);
    let {value} = ev.detail;
    let pickValue = this.data.range[value];
    console.log('选择的数量', pickValue);
    this.setData({pickValue,value});
  },
  //点击加入购物车，显示模板
  toggleModal(){
    //1.显示模板
    let {isok} = this.data;
    this.setData({isok:!isok});
  },
  //阻止冒泡
  son(){},
  //模板：点击加入购物车
  addCart(ev) {
    //1.隐藏模板
    let {isok} = this.data;
    this.setData({isok:!isok});
    //2.数据添加到购物车里面 
    let {gid,gtitle,gprice,gnum,gimgurl} = ev.target.dataset;
    let goodInfo = {
        gid,
        gtitle,
        gprice,
        gnum,
        gimgurl,
        gchecked : true
      }
    shopcartCtrl.addCartData(goodInfo);//添加购物车数据


    //错误的示范-这种做法bug：相同商品添加了多次
    //2.1 取出本地存储的数据
    // let goodsList = ShopCartCtrl.getCartData();
    // console.log('本地存储数据获取', goodsList);//[]
    // //2.2 准备新数据
    // // console.log('商品的详情数据', ev.target);
    // let {gid,gtitle,gprice,gnum,gimgurl} = ev.target.dataset;
    // let goodInfo = {
    //   gid,
    //   gtitle,
    //   gprice,
    //   gnum,
    //   gimgurl,
    //   gchecked : true
    // }
    // console.log('商品的完整详情数据：', goodInfo);
    // //2.3 添加新数据
    // goodsList.push(goodInfo);
    // console.log('数组里面数据',goodsList);//[{}]
    // //3.存储数据
    // ShopCartCtrl.setCartData(goodsList);//粗心了
    //以上代码错误示范
  },
  
})